#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <sys/ipc.h>
#include <sys/shm.h>

int main() {
    key_t key = ftok("shared_memory_example", 65); // 生成键值

    int shmid = shmget(key, sizeof(int), 0666); // 获取共享内存
    if (shmid == -1) {
        perror("shmget");
        exit(1);
    }

    int *shared_data = (int*)shmat(shmid, NULL, 0); // 连接到共享内存

    printf("Shared data read: %d\n", *shared_data);

    shmdt(shared_data); // 断开与共享内存的连接

    return 0;
}
